package com.lvy.hczn.front.system.domain.business;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lvy.hczn.front.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@Data
@TableName("sort_task")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "分拣任务")
public class SortTask extends BaseModel<SortTask> {

    @ApiModelProperty(value = "仓库编号")
    private String warehouseCode;

    @ApiModelProperty(value = "出库编号")
    private String outboundOrderCode;

    @ApiModelProperty(value = "关联的业务单号")
    private String associatedOrderCode;

    @ApiModelProperty(value = "数据类型：1：销售分拣；2：调拨分拣")
    private String dataType;

    @ApiModelProperty(value = "业务单号")
    private String serviceCode;

    @ApiModelProperty(value = "任务类型：1、tms任务；2、紧急任务、3、订单任务(普通下单任务)")
    private String taskType;

    @ApiModelProperty(value = "状态：0、待分配；1、已分配；2、分拣中；3、已分拣")
    private String status;

    @ApiModelProperty(value = "任务来源")
    private String sourceId;

    @ApiModelProperty(value = "委托分拣的第三方")
    private String publisher;

    @ApiModelProperty(value = "分拣员")
    private String clientId;

    @ApiModelProperty(value = "类型：1、销售分拣；2、调拨分拣；3、生产加工")
    private Integer type;

    @ApiModelProperty(value = "分拣出入口")
    private String sortCode;

    @ApiModelProperty(value = "配送商id")
    private String enterpriseId;

    @ApiModelProperty(value = "详情列表")
    @TableField(exist = false)
    private List<SortTaskDetail> list;

    @ApiModelProperty(value = "数据类型：1：入库单；2：出库单")
    @TableField(exist = false)
    private Integer warehousingType;
}
